package com.onec.service.channel.service;

import com.onec.service.api.enums.ProductEnum;
import com.onec.service.channel.entity.ChannelInfo;
import com.onec.service.channel.entity.ChannelMerchant;

import java.util.List;

public interface ChannelMerchantService {

    /**
     * 渠道商户查询：
     * 1， 渠道
     * 2，平台商户
     * 3，产品
     *
     * @param channelId
     * @param merchantNo
     * @param productEnum
     * @return
     */
    ChannelMerchant findByChannelIdProductMerchantNo(long channelId, String merchantNo, ProductEnum productEnum);

    /**
     * 渠道商户查询：
     * 1， 渠道
     * 2，平台商户
     * 3，产品
     *
     * @param channelId
     * @param merchantNo
     * @param productEnum
     * @return
     */
    ChannelMerchant getAvailableChannelIdProductMerchantNo(long channelId, String merchantNo, ProductEnum productEnum);


    /**
     * 获取商户通道产品：
     *
     * @param merchantNo
     * @param productEnum
     * @return
     */
    List<ChannelMerchant> getChannelMerchantProduct(String merchantNo, ProductEnum productEnum);

    /**
     * 创建通道商户。
     *
     * @param channelInfo
     * @param
     * @return
     */
    ChannelMerchant createChannelMerchant(ChannelInfo channelInfo, String merchantNo, ProductEnum product);

    /**
     * 创建通道商户。
     *
     * @param channelMerchant
     * @return
     */
    ChannelMerchant updateChannelMerchant(ChannelMerchant channelMerchant);


    /**
     * 变更通道商户信息。
     *
     * @param responseMerchant
     * @return
     */
//    ChannelMerchant updateChannelMerchantByChannel(ResponseMerchant responseMerchant);
}
